<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="format-detection" content="telephone=no">
    <title>404!</title>
    <style>html, body {
        height: 95%;
    }

    body {
        background: #0f3854;
        background: -webkit-radial-gradient(ellipse at center, #0a2e38 0%, #000000 70%);
        background: radial-gradient(ellipse at center, #0a2e38 0%, #000000 70%);
        background-size: 100%;
    }

    p {
        margin: 0;
        padding: 0;
    }

    #clock {
        font-family: 'Share Tech Mono', monospace;
        text-align: center;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        color: #daf6ff;
        text-shadow: 0 0 20px #0aafe6, 0 0 20px rgba(10, 175, 230, 0);
    }

    #clock .time {
        letter-spacing: 0.05em;
        font-size: 60px;
        padding: 5px 0;
    }

    #clock .date {
        letter-spacing: 0.1em;
        font-size: 15px;
    }

    #clock .text {
        letter-spacing: 0.1em;
        font-size: 12px;
        padding: 20px 0 0;
    }</style>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/vue/3.4.3/vue.global.min.js"></script>
</head>
<body>
<div id="clock">
    <p class="date">{{ date }}</p>
    <p class="time">{{ time }}</p>
    <p class="text">... 404 ERROR PAGE ...</p>
</div>
<script>
    const { createApp, ref } = Vue;

    const time = ref('')
    const date =  ref('');

    createApp({
        setup() {
            return {
                time, date
            }
        }
    }).mount('#clock');

    const week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
    const timerID = setInterval(updateTime, 1000);
    updateTime();

    function updateTime() {
        const cd = new Date();
        time.value = zeroPadding(cd.getHours(), 2) + ':' + zeroPadding(cd.getMinutes(), 2) + ':' + zeroPadding(cd.getSeconds(), 2);
        date.value = zeroPadding(cd.getFullYear(), 4) + '-' + zeroPadding(cd.getMonth() + 1, 2) + '-' + zeroPadding(cd.getDate(), 2) + ' ' + week[cd.getDay()];
    }

    function zeroPadding(num, digit) {
        let zero = '';
        for (let i = 0; i < digit; i++) {
            zero += '0';
        }
        return (zero + num).slice(-digit);
    }</script>
</body>

</html>